{{#packageName}}
package {{packageName}};
{{/packageName}}

{{#javaDoc}}
{{{javaDoc}}}
{{/javaDoc}}
{{#deprecated}}
@java.lang.Deprecated
{{/deprecated}}
public interface {{interfaceClassName}} {
{{#unaryMethods}}
    {{#javaDoc}}
    {{{javaDoc}}}
    {{/javaDoc}}
    {{#deprecated}}
    @java.lang.Deprecated
    {{/deprecated}}
    {{outputType}} {{methodName}}({{inputType}} request);
{{/unaryMethods}}
{{#serverStreamingMethods}}
    {{#javaDoc}}
    {{{javaDoc}}}
    {{/javaDoc}}
    {{#deprecated}}
    @java.lang.Deprecated
    {{/deprecated}}
    reactor.core.publisher.Flux<{{outputType}}> {{methodName}}({{inputType}} request);
{{/serverStreamingMethods}}
{{#clientStreamingMethods}}
    {{#javaDoc}}
    {{{javaDoc}}}
    {{/javaDoc}}
    {{#deprecated}}
    @java.lang.Deprecated
    {{/deprecated}}
    reactor.core.publisher.Flux<{{outputType}}> {{methodName}}(reactor.core.publisher.Flux<{{inputType}}> request);
{{/clientStreamingMethods}}
{{#biStreamingWithoutClientStreamMethods}}
    {{#javaDoc}}
    {{{javaDoc}}}
    {{/javaDoc}}
    {{#deprecated}}
    @java.lang.Deprecated
    {{/deprecated}}
    reactor.core.publisher.Flux<{{outputType}}> {{methodName}}(reactor.core.publisher.Flux<{{inputType}}> request);
{{/biStreamingWithoutClientStreamMethods}}
}
